A computer user often needs to change the computer that she works on due to hardware failure, upgrades to newer hardware or software, etc. In particular, in a business setting, management typically deploys upgrades to hardware or software for all employees in response to business needs. During these upgrades, information technology administrators sometimes need to replace the computer workstations on which the users operate. In upgrading hardware, the administrators typically provide the users with standard or default configured workstations, and the users are left to re-configure personal preferences or settings that were found on their previous workstations. These preferences or settings, collectively referred to as user state data, include documents that users have created and the changes they have made to operating system and application settings (such as display or usability customizations). In a software-only upgrade, the administrators typically provide an image of the upgrade software package or system and replace the existing software package or system on the users' existing workstations with the image.
To reduce a loss of productivity, some administrators may extract user state data before performing the hardware or software upgrade. In some practices, administrators may ask users to perform a backup operation by saving the user state data in another memory space that is not affected by the upgrade. Alternatively, the administrators may perform a migration operation to transfer the user state data for the users from previous workstations to the upgraded workstations. Both instances are cumbersome and time-consuming.
In the migration operation, the administrators currently employ a migration application tool that first asks administrators to identify the locations of files and/or registry keys in a data repository of the previous workstations where the user state data is stored. The administrators next provide these storage locations of the user state data as input to the migration tool by writing scripts to be processed by the migration tool. The migration tool next processes the scripts and gathers the contents of the specified files and registry keys.
Existing migration tools typically are able to gather customization or user state data by searching standard or known locations in the data repository (e.g., file system) of a workstation in a known execution environment (e.g., Microsoft® Windows®-based or Mac® OS-based). However, current migration tools falter in discovering the locations (e.g., whether in the registry data repository or other data repositories) other than the standard or known locations. Current migration tools also are unable to distinguish user state data from other information belonging to the applications. In addition, the migration tools also fail to facilitate codifying the user state data in executable scripts.